!function (window, document, $, undefined) {
    $.fn.fenye = function (parms) {
        this.each(function () {
            var $fenye = $(this);
            var curPage = parms.curPage,
                pageSz = parms.pageSz ? parms.pageSz : 5,
                showPage = parms.showPage,
                allPage = parms.allPage;

            //初始化函数
            var init = function () {
                initEvent();
                renderPage();
            };
            //初始化事件
            var initEvent = function () {
                $fenye.on('click', 'li:not(.disabled)', onJumpLiClk);
                $fenye.on('input', '.jump_ipt', jumpIptNub);
                $fenye.on('click', '.jump_btn', jumpBtnClk);
            };

            //渲染页数
            var renderPage = function () {
                var listArr = [];
                listArr.push('<ul class="ulsul">');
                listArr.push('<li data-p=', curPage - 1, ' class=', curPage == 1 ? 'disabled' : '', '><a href="#"><span>&laquo;</span></a></li>');
                if (curPage > showPage * 1 + 1) {
                    listArr.push('<li data-p=1><a href = "#"> 1</a ></li > ');
                };
                if (curPage > showPage * 1 + 2) {
                    listArr.push('<li data-p=', curPage > showPage * 2 + 1 ? curPage - (showPage * 2 + 1) : 1, '><a href = "#">···</a ></li > ');
                };
                if (curPage <= showPage) {
                    $.each(new Array(curPage + showPage > allPage ? allPage : curPage + showPage), function (i) {
                        listArr.push('<li data-p=', i + 1, ' class=', curPage == (i + 1) ? 'active' : '', '><a href="#">', i + 1, '</a></li>');
                    });
                } else if ((curPage + showPage) > allPage) {
                    $.each(new Array(showPage + 1 + allPage - curPage), function (i) {
                        listArr.push('<li data-p=', curPage - showPage + i, ' class=', curPage == (curPage - showPage + i) ? 'active' : '', '><a href="#">', curPage - showPage + i, '</a></li>');
                    });
                } else {
                    $.each(new Array(showPage * 2 + 1), function (i) {
                        listArr.push('<li data-p=', curPage - showPage + i, ' class=', curPage == (curPage - showPage + i) ? 'active' : '', '><a href="#">', curPage - showPage + i, '</a></li>');
                    });
                };
                if (curPage < allPage - showPage - 1) {
                    listArr.push('<li data-p=', curPage + (showPage * 2 + 1) > allPage ? allPage : curPage + (showPage * 2 + 1), '><a href = "#">···</a ></li > ');
                };
                if (curPage < allPage - showPage) {
                    listArr.push('<li data-p=', allPage, '><a href = "#">', allPage, '</a ></li > ');
                };
                listArr.push('<li data-p=', curPage + 1, '  class=', curPage == allPage ? "disabled" : "", '><a href="#"><span>&raquo;</span></a></li>');
                listArr.push('</ul>');
                $fenye.html(listArr.join(''));
                // allCss();
            };

            //页数点击跳转
            var onJumpLiClk = function () {
                $this = $(this);
                curPage = $this.attr('data-p') * 1;
                renderPage();
            };

            //跳转页数监听
            var jumpIptNub = function () {
                var $this = $(this),
                    $thisVle = $this.val();
                if ($thisVle < 1) {
                    $this.val(1);
                } else if ($thisVle > allPage) {
                    $this.val(allPage);
                };
            };

            //页数跳转
            var jumpBtnClk = function () {
                $iptVle = $(this).parent().prev().val();
                if ($iptVle.trim() == '') {
                    return false;
                };
                $jumpVle = $('.jump_ipt').val();
                curPage = $jumpVle * 1;
                renderPage();
            };

            // //css样式
            // var allCss = function () {
            //     // console.log(111)
            //     $('.ulsul').css({
            //         display: "inline-block",
            //         verticalAlign: "middle"
            //     });
            //     $('.ulsul li').css({
            //         listStyle: "none",
            //         border: "1px solid #b2b2b2",
            //         display: " inline-block",
            //         width: "40px",
            //         height: "30px",
            //         lineHeight: "30px",
            //         borderRight: "1px solid #b2b2b2",
            //         cursor: "pointer",
            //         textAlign:'center'
            //     });
            //     // $('.ulsul li:last-child').css({ "border": "0" })
            //     $('.div1 .active').css({ backgroundColor: "#D3D3D3" });
            //     $(".iptnub").css({
            //         width: "40px",
            //         height: "32px",
            //         border: " 1px solid #ccc",
            //         verticalAlign: "middle",
            //         textAlign: "center",
            //         marginLeft: "8px"
            //     });
            //     $('.btnn').css({
            //         height: "32px",
            //         width: "38px",
            //         verticalAlign: "middle",
            //         backgroundColor: "#f2f2f2",
            //         border: "1px solid #b2b2b2"
            //     });
            //     $(".disabled").css({
            //         cursor: 'not-allowed'
            //     });
            //     // console.log(111)
            //     $('.jump').css({
            //         "display": 'inline-block'
            //     });
            //     $('a').css({
            //         textDecoration: 'none'
            //     });
            //     $('.jump_ipt').css({
            //         height: "28px",
            //         width: '40px'
            //     });
            //     $('.jump_btn').css({
            //         height: '32px',
            //         width: '50px'
            //     });
            // };
            init();
        });
    };
}(window, document, jQuery)